package com.gpstracking.BE;

import java.util.List;

/**
 * Interface for EventonotificacioncondicionDAO.
 * 
 * @author MyEclipse Persistence Tools
 */

public interface IEventonotificacioncondicionDAO {
	/**
	 * Perform an initial save of a previously unsaved
	 * Eventonotificacioncondicion entity. All subsequent persist actions of
	 * this entity should use the #update() method. This operation must be
	 * performed within the a database transaction context for the entity's data
	 * to be permanently saved to the persistence store, i.e., database. This
	 * method uses the {@link javax.persistence.EntityManager#persist(Object)
	 * EntityManager#persist} operation.
	 * 
	 * <pre>
	 * EntityManagerHelper.beginTransaction();
	 * IEventonotificacioncondicionDAO.save(entity);
	 * EntityManagerHelper.commit();
	 * </pre>
	 * 
	 * @param entity
	 *            Eventonotificacioncondicion entity to persist
	 * @throws RuntimeException
	 *             when the operation fails
	 */
	public void save(Eventonotificacioncondicion entity);

	/**
	 * Delete a persistent Eventonotificacioncondicion entity. This operation
	 * must be performed within the a database transaction context for the
	 * entity's data to be permanently deleted from the persistence store, i.e.,
	 * database. This method uses the
	 * {@link javax.persistence.EntityManager#remove(Object)
	 * EntityManager#delete} operation.
	 * 
	 * <pre>
	 * EntityManagerHelper.beginTransaction();
	 * IEventonotificacioncondicionDAO.delete(entity);
	 * EntityManagerHelper.commit();
	 * entity = null;
	 * </pre>
	 * 
	 * @param entity
	 *            Eventonotificacioncondicion entity to delete
	 * @throws RuntimeException
	 *             when the operation fails
	 */
	public void delete(Eventonotificacioncondicion entity);

	/**
	 * Persist a previously saved Eventonotificacioncondicion entity and return
	 * it or a copy of it to the sender. A copy of the
	 * Eventonotificacioncondicion entity parameter is returned when the JPA
	 * persistence mechanism has not previously been tracking the updated
	 * entity. This operation must be performed within the a database
	 * transaction context for the entity's data to be permanently saved to the
	 * persistence store, i.e., database. This method uses the
	 * {@link javax.persistence.EntityManager#merge(Object) EntityManager#merge}
	 * operation.
	 * 
	 * <pre>
	 * EntityManagerHelper.beginTransaction();
	 * entity = IEventonotificacioncondicionDAO.update(entity);
	 * EntityManagerHelper.commit();
	 * </pre>
	 * 
	 * @param entity
	 *            Eventonotificacioncondicion entity to update
	 * @return Eventonotificacioncondicion the persisted
	 *         Eventonotificacioncondicion entity instance, may not be the same
	 * @throws RuntimeException
	 *             if the operation fails
	 */
	public Eventonotificacioncondicion update(Eventonotificacioncondicion entity);

	public Eventonotificacioncondicion findById(EventonotificacioncondicionId id);

	/**
	 * Find all Eventonotificacioncondicion entities with a specific property
	 * value.
	 * 
	 * @param propertyName
	 *            the name of the Eventonotificacioncondicion property to query
	 * @param value
	 *            the property value to match
	 * @return List<Eventonotificacioncondicion> found by query
	 */
	public List<Eventonotificacioncondicion> findByProperty(
			String propertyName, Object value);

	public List<Eventonotificacioncondicion> findByDescripcion(
			Object descripcion);

	/**
	 * Find all Eventonotificacioncondicion entities.
	 * 
	 * @return List<Eventonotificacioncondicion> all Eventonotificacioncondicion
	 *         entities
	 */
	public List<Eventonotificacioncondicion> findAll();
}